.feeling-bottle [hidden] {display: none !important}
.fb-strip {position: absolute;top: 54px;left: 10px;right: 10px;max-width: 480px;z-index: var(--z-index-base, 1000);display: flex;align-items: center;gap: 8px;animation: fb-bob 6s ease-in-out infinite;will-change: transform}
@keyframes fb-bob {0%, 100% { transform: translateY(0); }
50% { transform: translateY(-3px); }}
.fb-capsule {position: relative;overflow: hidden;flex: 1;min-width: 0;display: flex;align-items: center;gap: 10px;background: rgba(255, 255, 255, 0.88);backdrop-filter: blur(14px) saturate(1.4);border: 1px solid rgba(255, 255, 255, 0.9);outline: 1px solid rgba(24, 119, 242, 0.14);border-radius: 16px;padding: 9px 12px 12px;box-shadow: 0 10px 30px rgba(13, 91, 189, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.9);cursor: pointer;text-align: left;font-family: inherit}
.fb-capsule--empty {padding: 9px 12px}
.fb-cap-ic {width: 28px;height: 28px;flex: 0 0 auto;border-radius: 50%;background: linear-gradient(135deg, #06b6d4, #1877f2);display: flex;align-items: center;justify-content: center;color: #fff;box-shadow: 0 4px 10px rgba(24, 119, 242, 0.35);position: relative;z-index: 1}
.fb-cap-ava-wrap {position: relative;flex: 0 0 auto;z-index: 1}
.fb-cap-avatar {display: flex}
.fb-cap-avatar .user-avatar {width: 28px;height: 28px}
.user-avatar-official {display: inline-flex;flex: 0 0 auto;border-radius: 28%;box-shadow: 0 0 0 1.5px #fbbf24, 0 2px 6px rgba(30, 58, 138, 0.3)}
.user-avatar-official img {display: block;width: 100%;height: 100%;border-radius: inherit;object-fit: cover}
.fb-cap-cardbadge {position: absolute;right: -5px;bottom: -5px;width: 16px;height: 16px;box-sizing: border-box;border-radius: 50%;background: var(--color-warning);border: 1.5px solid #fff;display: flex;align-items: center;justify-content: center;color: #fff;box-shadow: 0 2px 6px rgba(245, 158, 11, 0.4)}
.fb-cap-cardbadge svg { display: block; }
.fb-cap-cardbadge[hidden] { display: none; }
.fb-cap-main {flex: 1;min-width: 0;position: relative;z-index: 1}
.fb-cap-msg {display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;overflow-wrap: anywhere;font-size: 13px;font-weight: 800;color: var(--color-text-primary);letter-spacing: 0.1px;line-height: 1.5}
.fb-cap-meta {display: flex;align-items: center;gap: 5px;margin-top: 3px;font-size: 10px;color: var(--color-text-muted);white-space: nowrap;overflow: hidden}
.fb-cap-meta > span:first-child {flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis}
.fb-cap-react {display: flex;align-items: center;gap: 3px;margin-left: auto;flex: 0 0 auto;font-size: 10px;font-weight: 800;color: #0d5bbd;background: rgba(232, 244, 253, 0.9);border-radius: 999px;padding: 2px 8px}
.fb-cap-react-face {display: flex}
.fb-rot-bar {position: absolute;inset: 0;border-radius: inherit;overflow: hidden;pointer-events: none}
.fb-rot-bar i {display: block;height: 100%;width: 0;background: linear-gradient(90deg, rgba(6, 182, 212, 0.06), rgba(24, 119, 242, 0.12));animation: fb-rot 10s linear infinite}
@keyframes fb-rot {from { width: 0; }
to { width: 100%; }}
.fb-compose-btn {flex: 0 0 auto;width: 38px;height: 38px;border: none;border-radius: 50%;background: #fff;color: #0ea5e9;display: flex;align-items: center;justify-content: center;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);cursor: pointer;transition: transform 0.15s ease}
.fb-compose-btn:active {transform: scale(0.92)}
.fb-fcolor--smile { color: #f59e0b; }
.fb-fcolor--cry { color: #3b82f6; }
.fb-fcolor--wow { color: #ec4899; }
.fb-fcolor--star { color: #8b5cf6; }
.fb-anim-exit-wave { animation: fb-exit-wave 0.45s ease-in forwards; }
@keyframes fb-exit-wave {to { transform: translateX(-18px) translateY(7px) rotate(-2deg); opacity: 0; }}
.fb-anim-enter-wave { animation: fb-enter-capsule 0.5s ease-out both; }
@keyframes fb-enter-capsule {from { transform: translateY(8px) scale(0.97); opacity: 0; }
to { transform: none; opacity: 1; }}
.fb-anim-enter-wave .fb-cap-ic,
.fb-anim-enter-wave .fb-cap-ava-wrap {animation: fb-enter-bottle 0.55s cubic-bezier(0.34, 1.3, 0.5, 1) both}
@keyframes fb-enter-bottle {0% { transform: scale(0.4) rotate(-10deg); opacity: 0; }
60% { transform: scale(1.08) rotate(2deg); opacity: 1; }
100% { transform: none; opacity: 1; }}
.fb-anim-enter-wave .fb-cap-main {transform-origin: left center;animation: fb-enter-letter 0.55s cubic-bezier(0.25, 1, 0.4, 1) 0.28s both}
@keyframes fb-enter-letter {0% { transform: translateX(-12px) scaleX(0.92); opacity: 0; }
70% { transform: translateX(1.5px) scaleX(1); opacity: 1; }
100% { transform: none; opacity: 1; }}
.fb-capsule-tanabata .fb-capsule {border-color: #c4b5fd;outline-color: rgba(139, 92, 246, 0.4);box-shadow: 0 10px 34px rgba(99, 102, 241, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.95)}
.fb-capsule-tanabata .fb-rot-bar i { background: linear-gradient(90deg, rgba(99, 102, 241, 0.08), rgba(167, 139, 250, 0.16)); }
.fb-p-tanzaku {position: absolute;top: -18px;width: 7px;height: 17px;border-radius: 2px;pointer-events: none;opacity: 0;animation: fb-p-tanzaku 1.5s ease-in forwards}
@keyframes fb-p-tanzaku {0% { transform: translateY(0) translateX(0) rotate(10deg); opacity: 0; }
14% { opacity: 0.95; }
100% { transform: translateY(96px) translateX(14px) rotate(-14deg); opacity: 0; }}
.fb-capsule-hoshizora .fb-capsule {border-color: #c7d2fe;outline-color: rgba(99, 102, 241, 0.35);box-shadow: 0 10px 34px rgba(49, 46, 129, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.95)}
.fb-capsule-hoshizora .fb-rot-bar i { background: linear-gradient(90deg, rgba(79, 70, 229, 0.08), rgba(253, 230, 138, 0.18)); }
.fb-p-star {position: absolute;width: var(--size);height: var(--size);pointer-events: none;opacity: 0;background: currentColor;clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%);filter: drop-shadow(0 0 5px currentColor) drop-shadow(0 0 2px rgba(255, 255, 255, 0.9));animation: fb-p-star var(--dur) ease-in-out var(--delay) both}
@keyframes fb-p-star {0% { transform: scale(0.2) rotate(-12deg); opacity: 0; }
30% { transform: scale(1) rotate(0deg); opacity: 1; }
55% { transform: scale(0.7) rotate(4deg); opacity: 0.5; }
75% { transform: scale(1.05) rotate(8deg); opacity: 1; }
100% { transform: scale(0.3) rotate(14deg); opacity: 0; }}
.fb-p-shoot {position: absolute;width: 52px;height: 3px;pointer-events: none;opacity: 0;border-radius: 2px;background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.85) 55%, #fbbf24);filter: drop-shadow(0 0 6px rgba(129, 140, 248, 0.95));animation: fb-p-shoot var(--dur) cubic-bezier(0.35, 0.1, 0.5, 1) var(--delay) both}
@keyframes fb-p-shoot {0% { transform: translate3d(0, 0, 0) rotate(167deg) scaleX(0.3); opacity: 0; }
18% { opacity: 1; }
70% { opacity: 1; }
100% { transform: translate3d(var(--dx), var(--dy), 0) rotate(167deg) scaleX(1); opacity: 0; }}
.fb-capsule-hanabi .fb-capsule {border-color: #fecdd3;outline-color: rgba(244, 63, 94, 0.3);box-shadow: 0 10px 34px rgba(244, 63, 94, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.95)}
.fb-capsule-hanabi .fb-rot-bar i { background: linear-gradient(90deg, rgba(244, 63, 94, 0.08), rgba(251, 191, 36, 0.2)); }
.fb-p-launch {position: absolute;width: 3px;height: 10px;border-radius: 2px;pointer-events: none;opacity: 0;background: linear-gradient(180deg, #f8ae17, transparent);box-shadow: 0 0 6px #f8ae17;animation: fb-p-launch var(--dur) cubic-bezier(0.3, 0.6, 0.55, 1) var(--delay) both}
@keyframes fb-p-launch {0% { transform: translate3d(0, var(--from-y), 0); opacity: 0; }
10% { opacity: 1; }
80% { opacity: 1; }
100% { transform: none; opacity: 0; }}
.fb-p-flash {position: absolute;width: 16px;height: 16px;margin: -8px 0 0 -8px;border-radius: 50%;pointer-events: none;opacity: 0;background: radial-gradient(circle, currentColor, transparent 70%);animation: fb-p-flash 1s ease-out var(--delay) both}
@keyframes fb-p-flash {0% { transform: scale(0.2); opacity: 0; }
15% { opacity: 0.9; }
100% { transform: scale(2.2); opacity: 0; }}
.fb-p-spark {position: absolute;width: 4px;height: 4px;border-radius: 50%;pointer-events: none;opacity: 0;background: radial-gradient(circle, #fff 10%, currentColor 60%);box-shadow: 0 0 8px 2px currentColor;animation: fb-p-spark var(--dur) cubic-bezier(0.15, 0.6, 0.45, 1) var(--delay) both}
@keyframes fb-p-spark {0% { transform: none; opacity: 0; }
8% { opacity: 1; }
55% { opacity: 0.95; }
100% { transform: translate3d(var(--dx), calc(var(--dy) + 12px), 0) scale(0.35); opacity: 0; }}
.fb-p-kiku-w {position: absolute;pointer-events: none;animation: fb-p-kiku-spread var(--sdur) cubic-bezier(0.1, 0.75, 0.28, 1) var(--delay) both}
@keyframes fb-p-kiku-spread {0% { transform: none; }
100% { transform: translate3d(var(--dx), var(--dy), 0); }}
.fb-p-kiku {display: block;width: 4px;height: 4px;border-radius: 50%;opacity: 0;animation: fb-p-kiku-fall var(--dur) cubic-bezier(0.5, 0.05, 0.65, 0.9) var(--delay) both}
@keyframes fb-p-kiku-fall {0% { transform: none; opacity: 0; background: radial-gradient(circle, #fff 15%, var(--c1) 60%); box-shadow: 0 0 9px 2px var(--c1); }
6% { opacity: 1; }
55% { background: radial-gradient(circle, #fff 15%, var(--c1) 60%); box-shadow: 0 0 9px 2px var(--c1); opacity: 1; }
78% { background: radial-gradient(circle, #fff 5%, var(--c2) 55%); box-shadow: 0 0 7px 2px var(--c2); opacity: 0.85; }
100% { transform: translate3d(0, 30px, 0) scale(0.55); background: radial-gradient(circle, #fff 0%, var(--c2) 50%); box-shadow: 0 0 4px 1px var(--c2); opacity: 0; }}
.fb-capsule-suika .fb-capsule {border-color: #bbf7d0;outline-color: rgba(63, 145, 66, 0.3);box-shadow: 0 10px 34px rgba(21, 128, 61, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.95)}
.fb-capsule-suika .fb-rot-bar i { background: linear-gradient(90deg, rgba(63, 145, 66, 0.1), rgba(239, 71, 87, 0.22)); }
.fb-p-suika-wedge {position: absolute;margin: -14px 0 0 -14px;pointer-events: none;opacity: 0;transform-origin: 50% 80%;animation: fb-p-suika-wedge var(--dur) ease-out var(--delay) both}
@keyframes fb-p-suika-wedge {0% { transform: translateY(14px) scale(0.7) rotate(-16deg); opacity: 0; }
14% { transform: rotate(-10deg); opacity: 1; }
30% { transform: rotate(-2deg) scale(1.04); }
38% { transform: rotate(-10deg) scale(1); }
55% { transform: rotate(-2deg) scale(1.04); }
63% { transform: rotate(-10deg) scale(1); }
80% { transform: rotate(-2deg) scale(1.04); }
88% { transform: rotate(-10deg) scale(1); opacity: 1; }
100% { transform: translateY(6px) rotate(-16deg) scale(0.9); opacity: 0; }}
.fb-p-suika-puff {position: absolute;width: 10px;height: 10px;margin: -5px 0 0 -5px;border-radius: 50%;pointer-events: none;opacity: 0;border: 1.5px solid rgba(148, 163, 184, 0.75);animation: fb-p-suika-puff 0.6s ease-out var(--delay) both}
@keyframes fb-p-suika-puff {0% { transform: scale(0.3); opacity: 0; }
25% { opacity: 0.9; }
100% { transform: scale(2.2) translateX(-10px); opacity: 0; }}
.fb-p-suika-shot {position: absolute;pointer-events: none;animation: fb-p-suika-shot-x var(--dur) linear var(--delay) both}
@keyframes fb-p-suika-shot-x {0% { transform: none; }
100% { transform: translate3d(var(--dx), 0, 0); }}
.fb-p-suika-seed {display: block;width: 4px;height: 6px;border-radius: 50% 50% 45% 45%;background: #1f2937;opacity: 0;animation: fb-p-suika-shot-y var(--dur) cubic-bezier(0.3, 0, 0.75, 0.9) var(--delay) both}
@keyframes fb-p-suika-shot-y {0% { transform: translateY(0) rotate(0deg); opacity: 0; }
8% { opacity: 1; }
34% { transform: translateY(var(--peak)) rotate(180deg); }
85% { opacity: 1; }
100% { transform: translateY(26px) rotate(520deg); opacity: 0; }}
.fb-capsule-todai .fb-capsule {border-color: #ecdcae;outline-color: rgba(30, 58, 138, 0.38);box-shadow: 0 10px 34px rgba(30, 58, 138, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.95)}
.fb-capsule-todai .fb-capsule::before {content: "";position: absolute;top: 0;left: 14px;right: 14px;height: 2px;border-radius: 2px;background: linear-gradient(90deg, rgba(251, 191, 36, 0) 0%, #f59e0b 22%, #fff4c2 50%, #f59e0b 78%, rgba(251, 191, 36, 0) 100%);background-size: 200% 100%;animation: fb-todai-trim 6s linear infinite;z-index: 1}
@keyframes fb-todai-trim {from { background-position: 100% 0; }
to { background-position: -100% 0; }}
.fb-capsule-todai .fb-rot-bar i { background: linear-gradient(90deg, rgba(30, 58, 138, 0.07), rgba(251, 191, 36, 0.26)); }
.fb-cap-meta-official {display: inline-flex;align-items: center;gap: 5px}
.fb-cap-official {flex: 0 0 auto;display: inline-flex;align-items: center;gap: 3px;font-size: 9px;font-weight: 800;letter-spacing: 0.04em;color: #fde68a;background: linear-gradient(135deg, #1e3a8a, #172554);border-radius: 999px;padding: 1px 7px 1px 5px}
.fb-fx {position: absolute;pointer-events: none;z-index: 3;--lamp-y: calc(100% - 36px)}
.fb-p-todai-tower {position: absolute;left: calc(var(--lamp-x) - 13px);bottom: 1px;width: 26px;height: 46px;overflow: hidden}
.fb-p-todai-tower svg {display: block;filter: drop-shadow(0 1px 1.5px rgba(15, 23, 42, 0.35));animation: fb-p-todai-tower 5.2s cubic-bezier(0.3, 0.8, 0.3, 1) 0.2s both}
@keyframes fb-p-todai-tower {0% { transform: translateY(104%); }
11% { transform: translateY(-4%); }
15% { transform: translateY(0); }
86% { transform: translateY(0); }
100% { transform: translateY(104%); }}
.fb-p-todai-lamp { animation: fb-p-todai-lamp 5.2s linear 0.2s both; }
@keyframes fb-p-todai-lamp {0%, 15% { fill: #cbd5e1; }
17% { fill: #ffffff; }
22%, 84% { fill: #fde047; }
92%, 100% { fill: #cbd5e1; }}
.fb-p-todai-halo {position: absolute;left: calc(var(--lamp-x) - 19px);top: calc(var(--lamp-y) - 19px);width: 38px;height: 38px;border-radius: 50%;opacity: 0;background: radial-gradient(circle, rgba(255, 251, 235, 0.95) 0%, rgba(253, 224, 71, 0.7) 28%, rgba(251, 191, 36, 0.22) 58%, rgba(251, 191, 36, 0) 72%);animation: fb-p-todai-halo 3.9s ease-in-out 1s both}
@keyframes fb-p-todai-halo {0% { transform: scale(0.3); opacity: 0; }
6% { transform: scale(1.7); opacity: 1; }
14% { transform: scale(1); opacity: 0.85; }
50% { transform: scale(1.15); opacity: 0.7; }
86% { transform: scale(1); opacity: 0.8; }
100% { transform: scale(0.5); opacity: 0; }}
.fb-p-todai-beam {position: absolute;right: calc(100% - var(--lamp-x));top: calc(var(--lamp-y) - 28px);width: min(250px, 78%);height: 56px;transform-origin: 100% 50%;opacity: 0;filter: drop-shadow(0 0 5px rgba(217, 119, 6, 0.4));animation: fb-p-todai-beam 3.6s ease-in-out 1.1s both}
.fb-p-todai-beam svg {display: block;width: 100%;height: 100%;transform: scaleX(-1)}
@keyframes fb-p-todai-beam {0% { transform: rotate(19deg) scaleX(0.3); opacity: 0; }
9% { transform: rotate(16deg) scaleX(1); opacity: 1; }
42% { transform: rotate(-10deg) scaleX(1); opacity: 1; }
72% { transform: rotate(7deg) scaleX(1); opacity: 1; }
92% { transform: rotate(-7deg) scaleX(1); opacity: 1; }
100% { transform: rotate(-9deg) scaleX(0.6); opacity: 0; }}
.fb-p-todai-spark {position: absolute;width: var(--s);height: var(--s);opacity: 0;filter: drop-shadow(0 0 3px rgba(251, 191, 36, 0.9));animation: fb-p-todai-spark 1.3s ease-out var(--delay) both}
.fb-p-todai-spark svg {display: block;width: 100%;height: 100%}
@keyframes fb-p-todai-spark {0% { transform: scale(0) rotate(0deg); opacity: 0; }
25% { transform: scale(1.15) rotate(40deg); opacity: 1; }
55% { transform: scale(0.7) rotate(70deg); opacity: 0.9; }
75% { transform: scale(1) rotate(100deg); opacity: 1; }
100% { transform: scale(0) rotate(140deg) translateY(6px); opacity: 0; }}
.fb-p-todai-gull {position: absolute;left: 0;top: var(--y);width: 18px;opacity: 0;animation: fb-p-todai-gull 2.8s linear var(--delay) both}
.fb-p-todai-gull svg {display: block;width: 100%;overflow: visible;transform-origin: 50% 70%;animation: fb-p-todai-flap 0.34s ease-in-out infinite alternate}
@keyframes fb-p-todai-gull {0% { transform: translate(var(--from), 0) scale(var(--sc)); opacity: 0; }
12% { opacity: 1; }
50% { transform: translate(calc((var(--from) + var(--to)) / 2), -3px) scale(var(--sc)); }
88% { opacity: 1; }
100% { transform: translate(var(--to), 1px) scale(var(--sc)); opacity: 0; }}
@keyframes fb-p-todai-flap {from { transform: scaleY(1); }
to { transform: scaleY(0.35); }}
.fb-todai-gloss {position: absolute;top: -20%;bottom: -20%;left: 0;width: 38%;z-index: 2;pointer-events: none;opacity: 0;background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(254, 240, 138, 0.55) 38%, rgba(255, 255, 255, 0.95) 50%, rgba(254, 240, 138, 0.55) 62%, rgba(255, 255, 255, 0) 100%);animation: fb-todai-gloss 1.1s ease-in-out 2.3s both}
.fb-todai-gloss--second {animation-duration: 0.8s;animation-delay: 4.05s;--peak: 0.55}
@keyframes fb-todai-gloss {0% { transform: translateX(-110%) skewX(-16deg); opacity: 0; }
20% { opacity: var(--peak, 1); }
80% { opacity: var(--peak, 1); }
100% { transform: translateX(290%) skewX(-16deg); opacity: 0; }}
.fb-capsule-sugoroku .fb-capsule {border-color: #ecd9a4;outline-color: rgba(31, 95, 168, 0.4);box-shadow: 0 10px 34px rgba(31, 95, 168, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.95)}
.fb-capsule-sugoroku .fb-capsule::before {content: "";position: absolute;top: 0;left: 14px;right: 14px;height: 3px;border-radius: 2px;background: repeating-linear-gradient(90deg, #f2d99b 0 10px, transparent 10px 13px, #f59e0b 13px 16px, transparent 16px 19px);z-index: 1}
.fb-capsule-sugoroku .fb-rot-bar i { background: linear-gradient(90deg, rgba(31, 95, 168, 0.06), rgba(245, 158, 11, 0.22)); }
.fb-fx--sugoroku span {position: absolute}
@keyframes fb-p-sgr-life {0%, 86% { opacity: 1; }
100% { opacity: 0; }}
.fb-p-sgr-row {left: var(--row-x);top: var(--row-y);width: 152px;height: 24px;animation: fb-p-sgr-life 6.5s linear both}
.fb-p-sgr-tile {left: calc(var(--i) * 26px);top: 0;width: 22px;height: 24px;filter: drop-shadow(0 1px 1.5px rgba(15, 23, 42, 0.4));animation: fb-p-sgr-rise 0.45s cubic-bezier(0.3, 1.5, 0.5, 1) calc(0.3s + var(--i) * 0.09s) both}
.fb-fx--sugoroku svg {display: block}
@keyframes fb-p-sgr-rise {0% { transform: translateY(16px) scale(0.6); opacity: 0; }
100% { transform: none; opacity: 1; }}
.fb-p-sgr-sink {left: 0;top: 0;width: 22px;height: 24px;transform-origin: 50% 100%;animation: fb-p-sgr-sink 0.42s ease-out var(--sd) both}
@keyframes fb-p-sgr-sink {0% { transform: none; }
22% { transform: translateY(2.5px) scale(1.04, 0.88); }
60% { transform: translateY(-1px); }
100% { transform: none; }}
.fb-p-sgr-ring {left: 0;top: 0;width: 22px;height: 22px;box-sizing: border-box;border-radius: 6px;border: 2px solid #f59e0b;opacity: 0;box-shadow: 0 0 6px rgba(245, 158, 11, 0.6);animation: fb-p-sgr-ring 0.8s ease-out var(--sd) both}
@keyframes fb-p-sgr-ring {0% { opacity: 0; transform: scale(1.3); }
30% { opacity: 1; transform: scale(1); }
100% { opacity: 0.6; transform: none; }}
.fb-p-sgr-piece {left: 1px;top: -3px;width: 20px;height: 20px}
.fb-p-sgr-squash {inset: 0;transform-origin: 50% 100%}
.fb-p-sgr-body {inset: 0;animation: fb-p-sgr-appear 0.35s cubic-bezier(0.3, 1.4, 0.5, 1) 1.5s both}
@keyframes fb-p-sgr-appear {0% { transform: scale(1.8); opacity: 0; }
100% { transform: none; opacity: 1; }}
.fb-p-sgr-piece-svg {width: 20px;height: 20px;filter: drop-shadow(0 1px 1.5px rgba(15, 23, 42, 0.35))}
.fb-p-sgr-flag {width: 18px;height: 30px;transform-origin: 2.8px 29px;animation: fb-p-sgr-flag 0.5s cubic-bezier(0.3, 1.5, 0.5, 1) var(--delay) both}
@keyframes fb-p-sgr-flag {0% { transform: scaleY(0); }
100% { transform: scaleY(1); }}
.fb-p-sgr-conf {left: var(--ox);top: var(--oy);width: 6px;height: 6px;opacity: 0;animation: fb-p-sgr-conf 1.4s cubic-bezier(0.2, 0.7, 0.4, 1) var(--delay) both}
@keyframes fb-p-sgr-conf {0% { transform: translate(0, 0) rotate(0deg) scale(0.3); opacity: 0; }
12% { transform: translate(calc(var(--dx) * 0.35), calc(var(--up) * -0.7)) rotate(calc(var(--rot) * 0.3)) scale(1); opacity: 1; }
45% { transform: translate(calc(var(--dx) * 0.75), calc(var(--up) * -1)) rotate(calc(var(--rot) * 0.6)) scale(1); opacity: 1; }
100% { transform: translate(var(--dx), var(--fall)) rotate(var(--rot)) scale(0.9); opacity: 0; }}
.fb-p-sgr-dice {left: 0;top: 0;width: 100%;height: 100%;animation: fb-p-sgr-life 6.5s linear both}
.fb-p-sgr-dice-shadow {left: 0;top: 0;width: 24px;height: 9px;border-radius: 50%;opacity: 0;background: radial-gradient(ellipse at center, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0.6) 55%, rgba(15, 23, 42, 0) 100%)}
.fb-p-sgr-dice-body {left: 0;top: 0;width: 22px;height: 22px;transform-origin: 50% 100%;opacity: 0}
.fb-p-sgr-dice-squash,
.fb-p-sgr-dice-rot {inset: 0}
.fb-p-sgr-dice-squash {transform-origin: 50% 100%}
.fb-p-sgr-dice-side {left: 2px;top: 2.6px;width: 22px;height: 22px;border-radius: 5px;background: #8fa1b8;box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.18)}
.fb-fx--sugoroku .fb-p-sgr-face {position: absolute;left: 0;top: 0;opacity: 0}
.fb-p-sgr-pip {animation: fb-p-sgr-pip 0.7s ease-in-out calc(var(--k0) + var(--pi) * 0.11s) both}
@keyframes fb-p-sgr-pip {0%, 100% { fill: #12306b; }
40% { fill: #f59e0b; }}
.fb-p-sgr-flare {width: 16px;height: 16px;opacity: 0;filter: drop-shadow(0 0 2px rgba(245, 158, 11, 0.75));animation: fb-p-sgr-flare 0.7s ease-out calc(var(--k0) + var(--pi) * 0.11s) both}
@keyframes fb-p-sgr-flare {0% { transform: scale(0.2) rotate(0deg); opacity: 0; }
30% { transform: scale(1.15) rotate(20deg); opacity: 1; }
100% { transform: scale(0) rotate(60deg); opacity: 0; }}
.fb-p-sgr-mote {width: 3px;height: 3px;border-radius: 50%;background: #fff;opacity: 0;box-shadow: 0 0 0 0.7px rgba(245, 158, 11, 0.75), 0 0 3px rgba(245, 158, 11, 0.6);animation: fb-p-sgr-mote 0.8s ease-out calc(var(--k0) + 0.05s + var(--pi) * 0.11s) both}
@keyframes fb-p-sgr-mote {0% { transform: translate(0, 0) scale(1); opacity: 0; }
20% { opacity: 1; }
100% { transform: translate(var(--mx), var(--my)) scale(0.2); opacity: 0; }}
.fb-p-sgr-sheen {inset: 0;border-radius: 5px;overflow: hidden}
.fb-p-sgr-sheen i {position: absolute;top: -30%;bottom: -30%;left: 0;width: 45%;transform: translateX(-140%) skewX(-22deg);opacity: 0;background: linear-gradient(90deg, rgba(245, 158, 11, 0), rgba(245, 158, 11, 0.3) 30%, rgba(255, 246, 222, 0.85) 50%, rgba(245, 158, 11, 0.3) 70%, rgba(245, 158, 11, 0));animation: fb-p-sgr-sheen 0.7s ease-in-out calc(var(--k0) + 0.2s) both}
@keyframes fb-p-sgr-sheen {0% { transform: translateX(-140%) skewX(-22deg); opacity: 1; }
100% { transform: translateX(320%) skewX(-22deg); opacity: 1; }}
.fb-capsule-tsukimi .fb-capsule {border-color: #ecdcb8;outline-color: rgba(176, 141, 85, 0.32);box-shadow: 0 10px 34px rgba(67, 56, 202, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.95)}
.fb-capsule-tsukimi .fb-rot-bar i { background: linear-gradient(90deg, rgba(79, 70, 229, 0.1), rgba(253, 230, 138, 0.32)); }
.fb-p-tsukimi-moon {position: absolute;pointer-events: none;opacity: 0;filter: drop-shadow(0 0 6px rgba(253, 224, 71, 0.85)) drop-shadow(0 0 14px rgba(250, 204, 21, 0.4));animation: fb-p-tsukimi-moon var(--dur) cubic-bezier(0.22, 0.72, 0.3, 1) var(--delay) both}
@keyframes fb-p-tsukimi-moon {0% { transform: translateY(14px) scale(0.86); opacity: 0; }
30% { opacity: 1; }
60% { transform: translateY(0) scale(1); opacity: 1; }
86% { transform: translateY(-2px) scale(1); opacity: 1; }
100% { transform: translateY(-6px) scale(1.02); opacity: 0; }}
.fb-p-tsukimi-halo {position: absolute;border-radius: 50%;pointer-events: none;opacity: 0;background: radial-gradient(circle, rgba(253, 230, 138, 0.6) 0%, rgba(253, 230, 138, 0.18) 55%, rgba(253, 230, 138, 0) 72%);animation: fb-p-tsukimi-halo var(--dur) ease-out var(--delay) both}
@keyframes fb-p-tsukimi-halo {0% { transform: scale(0.45); opacity: 0; }
40% { transform: scale(1); opacity: 0.95; }
72% { transform: scale(1.16); opacity: 0.55; }
100% { transform: scale(1.32); opacity: 0; }}
.fb-p-tsukimi-cloud {position: absolute;height: 13px;border-radius: 999px;pointer-events: none;opacity: 0;background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.98) 28%, rgba(214, 222, 235, 0.98) 72%, rgba(255, 255, 255, 0) 100%);filter: drop-shadow(0 1px 2px rgba(30, 41, 59, 0.18));animation: fb-p-tsukimi-cloud var(--dur) linear var(--delay) both}
@keyframes fb-p-tsukimi-cloud {0% { transform: translateX(var(--from)); opacity: 0; }
18% { opacity: var(--op); }
50% { opacity: calc(var(--op) + 0.22); }
82% { opacity: var(--op); }
100% { transform: translateX(var(--to)); opacity: 0; }}
.fb-p-tsukimi-susuki {position: absolute;pointer-events: none;opacity: 0;transform-origin: 50% 100%;animation: fb-p-tsukimi-susuki var(--dur) ease-in-out var(--delay) both}
.fb-p-tsukimi-susuki svg {display: block;width: var(--w);height: var(--h)}
@keyframes fb-p-tsukimi-susuki {0% { transform: translateY(10px) rotate(calc(var(--tilt) - 12deg)); opacity: 0; }
16% { transform: translateY(0) rotate(var(--tilt)); opacity: 1; }
38% { transform: rotate(calc(var(--tilt) + 7deg)); }
60% { transform: rotate(calc(var(--tilt) - 5deg)); }
80% { transform: rotate(calc(var(--tilt) + 3deg)); opacity: 1; }
100% { transform: translateY(5px) rotate(calc(var(--tilt) - 9deg)); opacity: 0; }}
.fb-modal {display: none;position: fixed;inset: 0;z-index: var(--z-index-modal, 1100);background: rgba(8, 20, 40, 0.6);align-items: center;justify-content: center;padding: 16px}
.fb-modal--open {display: flex}
.fb-modal-content {position: relative;width: 100%;max-width: 440px;max-height: calc(100dvh - 48px);overflow-y: auto;overscroll-behavior: contain;border-radius: var(--radius-lg);box-shadow: var(--shadow-md);background: #fff}
.fb-modal-close {position: absolute;top: 10px;right: 10px;z-index: 2;width: 32px;height: 32px;border: none;border-radius: 50%;background: var(--color-bg-secondary);color: var(--color-text-secondary);display: flex;align-items: center;justify-content: center;cursor: pointer}
.fb-loading {padding: 48px 16px;text-align: center;font-size: 13px;color: var(--color-text-muted)}
.fb-sheet {padding: 16px 18px 18px}
.fb-sheet-head {display: flex;align-items: center;gap: 9px;margin-bottom: 12px;padding-right: 36px}
.fb-sheet-ic {width: 30px;height: 30px;flex: 0 0 auto;border-radius: 50%;background: linear-gradient(135deg, #06b6d4, #1877f2);display: flex;align-items: center;justify-content: center;color: #fff}
.fb-sheet-head h3 {font-size: 14.5px;font-weight: 800;color: var(--color-text-primary);letter-spacing: 0.3px;margin: 0}
.fb-sheet-sub {font-size: 10.5px;color: var(--color-text-muted);margin: 0}
.fb-journal-link {margin-left: auto;flex: 0 0 auto;display: inline-flex;align-items: center;gap: 4px;font-size: 11px;font-weight: 700;color: #0d5bbd;background: #e8f4fd;border-radius: 999px;padding: 5px 11px;text-decoration: none}
.fb-journal-link svg { flex: 0 0 auto; }
.fb-standalone {max-width: 440px;margin: 0 auto;padding: 20px 16px 40px}
.fb-standalone-back {display: inline-flex;align-items: center;gap: 2px;margin-bottom: 10px;font-size: 12px;font-weight: 700;color: #0d5bbd;text-decoration: none}
.fb-standalone-back:hover { text-decoration: underline; }
.fb-standalone-card {border-radius: var(--radius-lg);box-shadow: var(--shadow-md);background: #fff;overflow: hidden}
.fb-flash {background: #eff6ff;border: 1px solid #dbeafe;color: #1e40af;border-radius: var(--radius-md);padding: 9px 12px;font-size: 12px;margin-bottom: 12px}
.fb-errors {background: #fef2f2;border: 1px solid #fecaca;color: #b91c1c;border-radius: var(--radius-md);padding: 9px 12px;font-size: 12px;margin-bottom: 12px}
.fb-errors p { margin: 0; }
.fb-paper {position: relative;background: linear-gradient(180deg, #fefefc, #fbfdff);border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 6px 16px 10px;box-shadow: var(--shadow-sm)}
.fb-paper textarea {width: 100%;max-width: 100%;box-sizing: border-box;border: none;padding: 0;background: repeating-linear-gradient(180deg, transparent 0 29px, #e7f0fa 29px 30px);resize: none;outline: none;font-family: inherit;font-size: 15.5px;font-weight: 700;color: var(--color-text-primary);line-height: 30px;min-height: 60px;letter-spacing: 0.3px}
.fb-paper textarea::placeholder {color: var(--color-text-light, #94a3b8);font-weight: 500;opacity: 0.75}
.fb-paper-foot {display: flex;padding-top: 4px}
.fb-char-count {margin-left: auto;font-size: 10.5px;font-weight: 700;color: var(--color-text-light, #94a3b8)}
.fb-char-count--over {color: var(--color-danger)}
.fb-deliver-head {display: flex;align-items: center;gap: 6px;font-size: 11px;font-weight: 800;color: var(--color-text-secondary);margin: 14px 0 8px}
.fb-deliver-sub {font-size: 9px;color: var(--color-text-light, #94a3b8);font-weight: 700}
.fb-deliver-row {display: flex;gap: 6px;overflow-x: auto;padding-bottom: 4px;-webkit-overflow-scrolling: touch;scrollbar-width: thin}
.fb-dopt {flex: 1 0 76px;min-width: 0;cursor: pointer}
.fb-dopt input {position: absolute;opacity: 0;pointer-events: none}
.fb-dopt-body {display: flex;flex-direction: column;align-items: center;gap: 2px;padding: 8px 2px 6px;border: 1.2px solid var(--color-border);border-radius: 12px;font-size: 9.5px;font-weight: 800;color: var(--color-text-secondary);text-align: center}
.fb-dopt-ic {display: flex;color: var(--color-primary)}
.fb-dopt-sub {font-size: 8px;color: var(--color-text-light, #94a3b8);font-weight: 700}
.fb-dopt-stock {font-size: 8px;font-weight: 800;color: #be123c}
.fb-dopt-stock--unlimited {font-size: 14px;line-height: 12px}
.fb-dopt input:checked + .fb-dopt-body {border-color: #1877f2;background: #e8f4fd;color: #0d5bbd}
.fb-dopt-teaser {flex: 1.5 0 auto;min-width: 0;max-width: 60%;display: flex;align-items: center;justify-content: center;gap: 8px;padding: 8px 10px;border: 1.2px dashed var(--color-border);border-radius: 12px;color: #b6c2d1;opacity: 0.8}
.fb-dopt-teaser--buy {border-color: #fda4af;color: #fb7185;opacity: 1;text-decoration: none}
.fb-dopt-teaser--buy .fb-dopt-teaser-text {color: var(--color-text-secondary)}
.fb-dopt-teaser-price {display: block;color: #be123c;font-size: 10px}
.fb-dopt-teaser-ic {flex: 0 0 auto;display: flex}
.fb-dopt-teaser-text {font-size: 9.5px;font-weight: 700;color: var(--color-text-light, #94a3b8);line-height: 1.5;overflow-wrap: anywhere}
.fb-life-strip {display: flex;align-items: stretch;margin-top: 14px;border: 1px solid #dbeafe;background: #eff6ff;border-radius: var(--radius-md);overflow: hidden}
.fb-life-cell {flex: 1;text-align: center;padding: 8px 4px}
.fb-life-cell + .fb-life-cell {border-left: 1px dashed #bfdbfe}
.fb-life-h {display: block;font-size: 12px;font-weight: 800;color: #0d5bbd}
.fb-life-d {display: block;font-size: 9px;color: #3b82f6;letter-spacing: 0.3px}
.fb-submit {display: block;width: 100%;max-width: 100%;box-sizing: border-box;margin-top: 16px;padding: 13px;border: none;border-radius: 999px;background: linear-gradient(135deg, #06b6d4, #1877f2);color: #fff;font-size: 14px;font-weight: 800;letter-spacing: 1px;font-family: inherit;box-shadow: 0 8px 20px rgba(24, 119, 242, 0.35);cursor: pointer}
.fb-once-note {text-align: center;margin: 9px 0 0;font-size: 10px;color: var(--color-text-light, #94a3b8)}
.fb-about-link {margin-left: 6px;color: var(--color-primary, #3b82f6);font-weight: 700;text-decoration: underline}
.fb-user-link {display: inline-flex;flex: 0 0 auto;text-decoration: none;color: inherit}
.fb-detail-paper {position: relative;overflow: hidden;background: linear-gradient(180deg, #fefefc, #fbfdff);border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 13px 16px 18px;box-shadow: var(--shadow-sm)}
.fb-detail-paper::after {content: "";position: absolute;top: 0;right: 0;width: 0;height: 0;border-style: solid;border-width: 0 18px 18px 0;border-color: transparent #dbeafe transparent transparent;border-radius: 0 var(--radius-md) 0 0}
.fb-detail-bottle {position: absolute;right: -6px;bottom: -14px;width: 88px;height: 113px;opacity: 0.1;transform: rotate(10deg);pointer-events: none}
.fb-detail-bottle svg {width: 100%;height: 100%}
.fb-detail-msg {position: relative;z-index: 1;font-size: 16.5px;font-weight: 700;color: var(--color-text-primary);line-height: 30px;letter-spacing: 0.02em;overflow-wrap: anywhere;margin: 0;background: repeating-linear-gradient(180deg, transparent 0 29px, #e7f0fa 29px 30px)}
.fb-tide-clock {position: relative;z-index: 1;display: inline-flex;align-items: center;gap: 6px;margin-top: 10px;font-size: 10.5px;font-weight: 800;color: #b45309;background: #fffbeb;border: 1px solid #fde68a;border-radius: 999px;padding: 3px 10px}
.fb-tide-clock--closed {color: var(--color-text-muted);background: var(--color-bg-muted, #f8fafc);border-color: var(--color-border)}
.fb-official-head {isolation: isolate;text-align: center;padding: 2px 36px 0;margin-bottom: 12px}
.fb-official-emblem {position: relative;width: 60px;height: 60px;margin: 4px auto 12px;border-radius: 50%;background: linear-gradient(135deg, #1e3a8a, #172554);color: #fde68a;display: flex;align-items: center;justify-content: center;box-shadow: 0 0 0 4px #fff, 0 0 0 5.5px #fbbf24, 0 8px 18px rgba(30, 58, 138, 0.35)}
.fb-official-emblem::after {content: "";position: absolute;inset: -14px;border-radius: 50%;background: radial-gradient(circle, rgba(251, 191, 36, 0.35) 30%, rgba(251, 191, 36, 0) 70%);z-index: -1;animation: fb-official-halo 1.8s ease-in-out infinite alternate}
@keyframes fb-official-halo {from { transform: scale(0.92); opacity: 0.6; }
to { transform: scale(1.08); opacity: 1; }}
.fb-official-title {margin: 0;font-size: 12px;font-weight: 800;letter-spacing: 0.14em;color: #1e3a8a}
.fb-detail-paper--official {background: linear-gradient(180deg, #fffdf5, #fdf6e0);border-color: #ecdcae;box-shadow: inset 0 0 0 4px #fffdf5, inset 0 0 0 5px rgba(180, 83, 9, 0.35);padding: 18px 16px 12px}
.fb-detail-paper--official::after { display: none; }
.fb-detail-paper--official .fb-detail-msg {background: repeating-linear-gradient(180deg, transparent 0 29px, rgba(180, 83, 9, 0.14) 29px 30px)}
.fb-official-foot {position: relative;z-index: 1;display: flex;align-items: flex-end;justify-content: space-between;gap: 10px;margin-top: 8px}
.fb-official-foot-main {min-width: 0;display: flex;flex-direction: column;align-items: flex-start;gap: 6px;padding-bottom: 6px}
.fb-official-foot .fb-tide-clock { margin-top: 0; }
.fb-official-sign {font-size: 11px;color: var(--color-text-muted)}
.fb-seal {position: relative;flex: 0 0 auto;width: 62px;height: 62px}
.fb-seal svg {display: block;width: 100%;height: 100%}
.fb-seal-body {filter: drop-shadow(0 3px 4px rgba(120, 53, 15, 0.45));animation: fb-seal-press 0.7s cubic-bezier(0.3, 1.2, 0.4, 1) 0.45s both}
@keyframes fb-seal-press {0% { transform: scale(2.3) rotate(-26deg); opacity: 0; }
55% { transform: scale(0.9) rotate(-8deg); opacity: 1; }
72% { transform: scale(1.06) rotate(-8deg); }
100% { transform: scale(1) rotate(-8deg); opacity: 1; }}
.fb-seal-ring {position: absolute;inset: 4px;border-radius: 50%;border: 2px solid rgba(245, 158, 11, 0.8);opacity: 0;animation: fb-seal-ring 0.8s ease-out 0.82s both}
@keyframes fb-seal-ring {0% { transform: scale(0.8); opacity: 0.9; }
100% { transform: scale(1.9); opacity: 0; }}
.fb-reacts {display: grid;grid-template-columns: repeat(4, 1fr);gap: 8px;padding: 12px 0;border-bottom: 1px solid var(--color-border-light, #f1f5f9)}
.fb-react {display: flex;flex-direction: column;align-items: center;gap: 4px;padding: 9px 2px 7px;min-width: 0;border: 1.2px solid var(--color-border);border-radius: 14px;background: #fff;font-family: inherit;cursor: pointer;transition: transform 0.15s ease, box-shadow 0.15s ease}
.fb-react:disabled {cursor: default}
.fb-fchip {width: 34px;height: 34px;border-radius: 50%;flex: 0 0 auto;display: flex;align-items: center;justify-content: center}
.fb-fchip--smile { background: #fef3c7; color: #d97706; }
.fb-fchip--cry { background: #dbeafe; color: #2563eb; }
.fb-fchip--wow { background: #fce7f3; color: #db2777; }
.fb-fchip--star { background: #ede9fe; color: #7c3aed; }
.fb-react-count {font-size: 12.5px;font-weight: 800;color: var(--color-text-secondary);line-height: 1.1}
.fb-react-label {font-size: 8.5px;font-weight: 700;color: var(--color-text-light, #94a3b8);letter-spacing: 0.3px}
.fb-react--on { transform: translateY(-2px); }
.fb-react--on-smile { border-color: #f59e0b; background: #fffbeb; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25); }
.fb-react--on-smile .fb-react-count, .fb-react--on-smile .fb-react-label { color: #b45309; }
.fb-react--on-cry { border-color: #3b82f6; background: #eff6ff; box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25); }
.fb-react--on-cry .fb-react-count, .fb-react--on-cry .fb-react-label { color: #1d4ed8; }
.fb-react--on-wow { border-color: #ec4899; background: #fdf2f8; box-shadow: 0 4px 12px rgba(236, 72, 153, 0.25); }
.fb-react--on-wow .fb-react-count, .fb-react--on-wow .fb-react-label { color: #be185d; }
.fb-react--on-star { border-color: #8b5cf6; background: #f5f3ff; box-shadow: 0 4px 12px rgba(139, 92, 246, 0.25); }
.fb-react--on-star .fb-react-count, .fb-react--on-star .fb-react-label { color: #6d28d9; }
.fb-comments {margin-top: 12px;background: linear-gradient(180deg, #f5fafd, #f9fdff);border: 1px solid #e3effc;border-radius: var(--radius-md);padding: 4px 12px 10px}
.fb-comments-head {display: flex;align-items: center;gap: 6px;padding: 9px 2px 4px;font-size: 11px;font-weight: 800;color: #5c86b8;letter-spacing: 0.5px}
.fb-comments-head svg { flex: 0 0 auto; }
.fb-comments-cnt {font-size: 9.5px;font-weight: 800;color: #94b8dd}
.fb-comment {display: flex;gap: 9px;padding: 7px 0}
.fb-comment-bubble {background: #fff;border: 1px solid #e8f1fb;border-radius: 4px 12px 12px 12px;padding: 7px 11px 8px;box-shadow: 0 1px 3px rgba(13, 91, 189, 0.06)}
.fb-comment-body {flex: 1;min-width: 0}
.fb-comment-top {display: flex;align-items: center;gap: 6px}
.fb-comment-name {font-size: 11px;font-weight: 800;color: var(--color-text-secondary)}
.fb-comment-time {font-size: 9.5px;color: var(--color-text-light, #94a3b8)}
.fb-comment-text {font-size: 13px;color: var(--color-text-primary);overflow-wrap: anywhere;line-height: 1.55;margin: 0}
.fb-no-comments {padding: 16px 0;text-align: center;font-size: 12px;color: var(--color-text-muted)}
.fb-comment-form {margin-top: 4px}
.fb-comment-error {font-size: 11px;color: var(--color-danger);margin: 0 0 6px}
.fb-comment-bar {display: flex;gap: 8px;padding-top: 12px}
.fb-comment-bar input[type="text"] {flex: 1;min-width: 0;max-width: 100%;box-sizing: border-box;border: 1.2px solid var(--color-border);border-radius: 999px;padding: 9px 14px;font-size: 13px;font-family: inherit;outline: none}
.fb-comment-bar input[type="text"]:focus {border-color: var(--color-primary)}
.fb-comment-bar input[type="text"]::placeholder {color: var(--color-text-light, #94a3b8);opacity: 0.75}
.fb-comment-send {width: 38px;height: 38px;flex: 0 0 auto;border: none;border-radius: 50%;background: #1877f2;color: #fff;display: flex;align-items: center;justify-content: center;cursor: pointer}
.fb-closed-bar {display: flex;align-items: center;justify-content: center;gap: 7px;margin-top: 8px;padding: 11px 16px;background: var(--color-bg-muted, #f8fafc);border-radius: var(--radius-md);font-size: 11px;color: var(--color-text-muted);font-weight: 700;text-align: center}
.fb-voyage-badge {position: relative;z-index: 1;display: inline-flex;align-items: center;gap: 5px;margin-bottom: 6px;font-size: 10px;font-weight: 800;letter-spacing: 0.5px;background: #eff6ff;border: 1px solid #cfe4fb;border-radius: 999px;padding: 3px 10px;color: #1d6fd8}
.fb-voyage-badge b {font-size: 14px;font-weight: 800;margin: 0 1px}
.fb-voyage-sub {position: relative;z-index: 1;font-size: 10px;color: var(--color-text-light, #94a3b8);margin: 6px 0 0}
.fb-vsec-t {display: flex;align-items: center;gap: 6px;font-size: 11px;font-weight: 800;color: var(--color-text-secondary);letter-spacing: 0.5px;margin: 16px 0 9px}
.fb-vsec-ic { display: flex; }
.fb-vsec-cnt {font-size: 9.5px;font-weight: 800;color: var(--color-text-light, #94a3b8)}
.fb-reactor-row {display: flex;align-items: center;flex-wrap: wrap}
.fb-reactor {position: relative;display: inline-flex;flex: 0 0 auto;text-decoration: none}
.fb-reactor + .fb-reactor,
.fb-reactor + .fb-reactor-more {margin-left: -9px}
.fb-reactor .user-avatar {border: 2px solid #fff;box-shadow: var(--shadow-sm)}
.fb-reactor-more {width: 30px;height: 30px;border-radius: 50%;background: var(--color-bg-muted, #f8fafc);border: 2px solid #fff;box-shadow: var(--shadow-sm);display: flex;align-items: center;justify-content: center;font-size: 8.5px;font-weight: 800;color: var(--color-text-muted)}
.fb-breakdown {display: flex;flex-direction: column;gap: 7px}
.fb-breakdown-row {display: flex;align-items: center;gap: 8px}
.fb-breakdown-label {display: flex;align-items: center;gap: 5px;font-size: 10.5px;font-weight: 800;width: 84px;flex: 0 0 auto}
.fb-breakdown-bar {flex: 1;height: 7px;border-radius: 99px;background: var(--color-bg-muted, #f8fafc);overflow: hidden}
.fb-breakdown-bar i {display: block;height: 100%;border-radius: 99px;background: linear-gradient(90deg, #06b6d4, #1877f2)}
.fb-breakdown-v {font-size: 10.5px;font-weight: 800;color: var(--color-text-secondary);width: 24px;text-align: right;flex: 0 0 auto}
.fb-archive-note {display: flex;align-items: flex-start;gap: 7px;margin-top: 16px;font-size: 10px;color: var(--color-text-muted);line-height: 1.7;background: var(--color-bg-muted, #f8fafc);border-radius: var(--radius-md);padding: 9px 11px}
.fb-archive-note svg {flex: 0 0 auto;margin-top: 2px}
.fb-log-list {display: flex;flex-direction: column;gap: 8px}
.fb-log-item {position: relative;overflow: hidden;display: flex;align-items: center;gap: 10px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 11px 13px;box-shadow: var(--shadow-sm);text-decoration: none}
.fb-log-bottle {position: absolute;right: 22px;bottom: -10px;width: 34px;height: 44px;opacity: 0.12;transform: rotate(10deg);pointer-events: none}
.fb-log-bottle svg {width: 100%;height: 100%}
.fb-log-date {flex: 0 0 auto;text-align: center;width: 34px;position: relative;z-index: 1}
.fb-log-d {display: block;font-size: 14px;font-weight: 800;color: #0d5bbd;line-height: 1.1}
.fb-log-m {display: block;font-size: 8.5px;font-weight: 700;color: var(--color-text-light, #94a3b8)}
.fb-log-body {flex: 1;min-width: 0;position: relative;z-index: 1}
.fb-log-msg {display: block;font-size: 12px;font-weight: 800;color: var(--color-text-primary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.fb-log-stats {display: flex;align-items: center;gap: 9px;margin-top: 2px;font-size: 9.5px;font-weight: 700;color: var(--color-text-muted)}
.fb-log-stats span {display: flex;align-items: center;gap: 3px}
.fb-log-arrow {color: var(--color-text-light, #94a3b8);flex: 0 0 auto;position: relative;z-index: 1}
@media (max-width: 480px) {.fb-strip {max-width: none}
.fb-journal-link {padding: 7px}
.fb-journal-link svg {width: 14px;height: 14px}
.fb-journal-label {display: none}}
@media (max-width: 360px) {.fb-sheet-head--compose .fb-sheet-ic {display: none}}
.fb-store {max-width: 560px;margin: 0 auto;padding: 20px 16px 60px}
.fb-store-buy {display: inline-block;font-size: 12.5px;font-weight: 700;font-family: inherit;color: #fff;background: linear-gradient(135deg, #fb7185, #be123c);border: none;border-radius: 999px;padding: 8px 18px;cursor: pointer;text-decoration: none}
.fb-store-buy:active {transform: scale(0.97)}
.fb-store-buy--wide {margin-top: 16px;padding: 10px 32px}
.fb-store-success {text-align: center;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-lg);box-shadow: var(--shadow-sm);padding: 36px 20px}
.fb-store-success-ic {display: inline-flex;align-items: center;justify-content: center;width: 72px;height: 88px;border-radius: 18px;background: linear-gradient(135deg, #ffe4e6, #fecdd3);margin-bottom: 14px}
.fb-store-success-ic svg {width: 40px;height: 52px}
.fb-store-success h1 {font-size: 18px;color: var(--color-text-primary)}
.fb-store-success p {font-size: 13px;color: var(--color-text-secondary);margin-top: 8px}
@media (prefers-reduced-motion: reduce) {.fb-strip,
.fb-anim-exit-wave,
.fb-anim-enter-wave,
.fb-anim-enter-wave .fb-cap-ic,
.fb-anim-enter-wave .fb-cap-ava-wrap,
.fb-anim-enter-wave .fb-cap-main,
.fb-rot-bar i,
.fb-p-tanzaku,
.fb-p-star,
.fb-p-shoot,
.fb-p-launch,
.fb-p-flash,
.fb-p-spark,
.fb-p-kiku-w,
.fb-p-kiku,
.fb-p-suika-wedge,
.fb-p-suika-puff,
.fb-p-suika-shot,
.fb-p-suika-seed,
.fb-p-tsukimi-moon,
.fb-p-tsukimi-halo,
.fb-p-tsukimi-cloud,
.fb-p-tsukimi-susuki,
.fb-capsule-todai .fb-capsule::before,
.fb-official-emblem::after,
.fb-seal-body {animation: none !important}
.fb-fx,
.fb-todai-gloss,
.fb-seal-ring {display: none}}
.fb-attach {margin-top: 14px;padding: 12px;min-width: 0;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: #fff}
.fb-attach-head { display: flex; align-items: center; gap: 8px; }
.fb-attach-title {flex: 1;min-width: 0;margin: 0;display: flex;align-items: center;gap: 6px;font-size: 12px;font-weight: 800;color: var(--color-text-primary);overflow-wrap: anywhere}
.fb-attach-title svg { flex: none; color: var(--color-warning); }
.fb-attach-lock {display: none;align-items: center;gap: 6px;margin: 8px 0 0;font-size: 11px;font-weight: 700;color: var(--color-text-muted)}
.fb-attach-empty { margin: 10px 0 0; font-size: 12px; color: var(--color-text-muted); }
.fb-attach-note {margin: 4px 0 0;padding: 8px 10px;border-radius: var(--radius-sm);border-left: 3px solid var(--color-warning);background: var(--color-bg-muted);font-size: 11px;line-height: 1.6;color: var(--color-text-secondary);overflow-wrap: anywhere}
.fb-attach-note strong {display: block;margin-bottom: 2px;font-weight: 800;color: var(--color-text-primary)}
.fb-attach--locked { background: var(--color-bg-muted); }
.fb-attach--locked .fb-attach-title,
.fb-attach--locked .fb-attach-title svg { color: var(--color-text-light); }
.fb-attach--locked .fb-sw,
.fb-attach--locked .fb-picker,
.fb-attach--locked .fb-attach-empty,
.fb-attach--locked .fb-attach-note { display: none; }
.fb-attach--locked .fb-attach-lock { display: flex; }
.fb-attach:not(.fb-attach--on) .fb-attach-note { display: none; }
.fb-attach:not(.fb-attach--on) .fb-picker { opacity: 0.4; pointer-events: none; }
.fb-sw {position: relative;flex: none;min-width: 44px;min-height: 44px;display: grid;place-items: center;cursor: pointer}
.fb-sw input {position: absolute;inset: 0;margin: 0;opacity: 0;cursor: pointer}
.fb-sw-track {position: relative;width: 70px;height: 30px;box-sizing: border-box;border-radius: 999px;border: 1px solid var(--color-border);background: var(--color-bg-muted);transition: background 0.2s, border-color 0.2s}
.fb-sw-track::before {content: "詰める";position: absolute;left: 8px;top: 50%;transform: translateY(-50%);font-size: 10px;font-weight: 800;letter-spacing: 0.02em;color: #fff;opacity: 0;transition: opacity 0.2s}
.fb-sw-knob {position: absolute;top: 2px;left: 2px;width: 24px;height: 24px;border-radius: 50%;background: #fff;box-shadow: var(--shadow-sm);display: grid;place-items: center;color: var(--color-text-light);transition: transform 0.2s, color 0.2s}
.fb-sw input:checked + .fb-sw-track {background: linear-gradient(90deg, var(--color-aqua-500), var(--color-primary));border-color: transparent}
.fb-sw input:checked + .fb-sw-track::before { opacity: 1; }
.fb-sw input:checked + .fb-sw-track .fb-sw-knob { transform: translateX(40px); color: var(--color-primary); }
.fb-picker {display: flex;gap: 8px;overflow-x: auto;padding: 10px 2px 16px;scroll-snap-type: x proximity}
.fb-pk {position: relative;display: block;flex: 0 0 104px;min-width: 0;cursor: pointer;scroll-snap-align: start}
.fb-pk .fc-band {padding-left: 7px;padding-right: 7px}
.fb-pk .fc-name {display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;line-clamp: 2;font-size: 11px;line-height: 1.3;letter-spacing: 0.02em;white-space: normal;overflow-wrap: anywhere}
.fb-pk-input { position: absolute; opacity: 0; pointer-events: none; }
.fb-pk-body {position: relative;display: block;padding: 3px;border: 2px solid transparent;border-radius: 12px}
.fb-pk-input:checked ~ .fb-pk-body { border-color: var(--color-primary); background: #eff6ff; }
.fb-pk-check {position: absolute;top: -5px;right: -5px;z-index: 5;width: 20px;height: 20px;border-radius: 50%;background: var(--color-primary);color: #fff;display: none;place-items: center;box-shadow: var(--shadow-sm)}
.fb-pk-input:checked ~ .fb-pk-body .fb-pk-check { display: grid; }
.fb-pk-score {position: absolute;right: 6px;bottom: -10px;z-index: 8;display: inline-flex;align-items: center;gap: 3px;padding: 1px 7px 1px 6px;line-height: 1.5;font-size: 0.75rem;font-weight: 700;font-variant-numeric: tabular-nums;white-space: nowrap;color: #7dd3fc;background: #0b2238;border: 1px solid rgba(125, 211, 252, 0.4);border-radius: 999px;box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35)}
.fb-pk-score svg { width: 12px; height: 12px; flex: none; }
.fb-pk-input:focus-visible ~ .fb-pk-body,
.fb-sw input:focus-visible + .fb-sw-track {outline: 2px solid var(--color-primary);outline-offset: 2px}
.fb-enclose {position: relative;z-index: 1;display: flex;align-items: center;gap: 12px;min-width: 0;margin-top: 12px;padding-top: 12px;border-top: 1px dashed #cfe0f3}
.fb-enc-card { flex: none; width: 34%; transform: rotate(-2deg); }
.fb-enc-card .fcard {box-shadow: 0 6px 14px -6px rgba(10, 20, 35, 0.55), 0 0 0 1px rgba(148, 163, 184, 0.55)}
.fb-enc-txt {flex: 1;min-width: 0;display: flex;flex-direction: column;align-items: flex-start;gap: 6px;font-size: 12px;color: var(--color-text-secondary);overflow-wrap: anywhere}
.fb-enc-txt strong { font-size: 13px; font-weight: 800; color: var(--color-text-primary); }
.fb-give-badge {display: inline-flex;align-items: center;height: 20px;padding: 0 8px;border-radius: 999px;font-size: 10px;font-weight: 800;color: #78350f;background: linear-gradient(135deg, #fbbf24, var(--color-warning))}
.fb-give-badge--done { color: var(--color-text-secondary); background: var(--color-bg-secondary); }
.fb-cta-form { margin: 0; }
.fb-cta {display: flex;align-items: center;justify-content: center;width: 100%;max-width: 100%;min-height: 44px;margin-top: 12px;padding: 0 14px;box-sizing: border-box;border: 0;border-radius: 999px;font-family: inherit;font-size: 14px;font-weight: 800;color: #fff;text-decoration: none;background: var(--color-primary);box-shadow: 0 6px 16px rgba(59, 130, 246, 0.35);cursor: pointer}
.fb-cta:hover { background: var(--color-primary-dark); color: #fff; }
.fb-cta-note {margin: 12px 0 0;font-size: 12px;line-height: 1.6;color: var(--color-text-muted);text-align: center}
@media (prefers-reduced-motion: reduce) {.fb-sw-track,
.fb-sw-track::before,
.fb-sw-knob { transition: none; }}