:root{--pink:#ff8e95;--pink-deep:#ff7a82;--pink-soft:#ffb4b8;--pink-ghost:#ffffff47;--cream:#fff6e8;--text-on-pink:#fff;--text-on-cream:#5a4548;--accent-tweet:#1da1f2;--shadow:0 10px 30px #b446502e;--radius-card:22px;--radius-btn:999px;--font:"M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;min-height:100%;margin:0}html{height:-webkit-fill-available}body{font-family:var(--font);background:var(--pink);color:var(--text-on-pink);overscroll-behavior:none;min-height:100vh;touch-action:manipulation;-webkit-text-size-adjust:100%;min-height:100dvh}button,input,textarea,a{font-family:inherit;font-size:16px}button{cursor:pointer;touch-action:manipulation;border:none}button:disabled{opacity:.55;cursor:not-allowed}.app-root{min-height:100dvh;background:radial-gradient(ellipse 80% 50% at 50% -10%, #ffffff38, transparent 60%), linear-gradient(180deg, #ffa3a8 0%, var(--pink) 40%, #ff7f88 100%);min-height:-webkit-fill-available}.app-shell{min-height:100dvh;max-width:440px;min-height:-webkit-fill-available;padding:calc(20px + env(safe-area-inset-top,0px)) calc(22px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(22px + env(safe-area-inset-left,0px));flex-direction:column;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;animation:.35s both fadeUp;display:flex;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-content{z-index:2;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;width:100%;min-height:0;display:flex;position:relative;overflow-y:auto}.mascots{pointer-events:none;z-index:0;flex-shrink:0;justify-content:center;align-items:flex-end;gap:4px;width:min(100%,420px);margin-top:4px;display:flex;position:relative}.mascot{aspect-ratio:3/4;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 8px 12px #b4465a2e);mix-blend-mode:multiply;width:112px;height:auto;animation:3.2s ease-in-out infinite bob}.mascot-wolf{width:118px;animation-delay:.4s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.screen-heading{text-align:center;letter-spacing:.02em;margin:0;font-size:1.15rem;font-weight:700}.screen-sub{text-align:center;opacity:.92;margin:-8px 0 0;font-size:.85rem;line-height:1.5}.card{background:var(--cream);width:100%;color:var(--text-on-cream);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:22px 18px}.btn-stack{flex-direction:column;align-items:center;gap:12px;width:100%;margin-top:4px;display:flex}.btn{border-radius:var(--radius-btn);justify-content:center;align-items:center;width:min(100%,280px);min-height:52px;padding:0 24px;font-size:1.05rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{color:var(--pink);background:#fff;box-shadow:0 6px 16px #00000014}.btn-ghost{background:var(--pink-ghost);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1.5px solid #ffffffa6}.top-btn-stack{gap:10px}.btn-hero{width:min(100%,300px);min-height:72px;font-size:1.35rem;font-weight:800;box-shadow:0 10px 24px #0000001f}.btn-compact{width:min(100%,240px);min-height:40px;font-size:.88rem;font-weight:700}.btn-tweet{background:var(--accent-tweet);color:#fff}.top-hero{text-align:center;margin-bottom:8px}.top-eyebrow{letter-spacing:.04em;opacity:.95;margin:0 0 10px;font-size:.82rem}.top-title{letter-spacing:.06em;text-shadow:0 4px #e65a6459;margin:0;font-size:clamp(2.4rem,10vw,3.1rem);font-weight:800;animation:.6s cubic-bezier(.2,.9,.3,1.2) both titlePop}@keyframes titlePop{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.top-subtitle{margin:8px 0 18px;font-size:.95rem;font-weight:500}.top-lead{opacity:.95;margin:0;font-size:.92rem;line-height:1.7}.settings-card{flex-direction:column;gap:18px;display:flex}.stepper{flex-direction:column;gap:8px;display:flex}.stepper-label{text-align:center;font-size:.92rem;font-weight:700}.stepper-controls{justify-content:center;align-items:center;gap:14px;display:flex}.stepper-btn{width:42px;height:42px;color:var(--pink);background:#fff;border-radius:50%;font-size:1.35rem;font-weight:700;box-shadow:0 2px 8px #0000000f}.stepper-btn:disabled{opacity:.35}.stepper-value{text-align:center;min-width:72px;color:var(--pink);font-size:1.35rem;font-weight:800}.names-card{flex-direction:column;gap:12px;display:flex}.name-input{border-radius:var(--radius-btn);width:100%;height:48px;color:var(--text-on-cream);background:#fff;border:none;outline:none;padding:0 18px;font-size:1rem;font-weight:500;box-shadow:inset 0 0 0 1px #ff8e9526}.name-input:focus{box-shadow:inset 0 0 0 2px var(--pink-soft)}.name-input::placeholder{color:#c4b4b6}.category-list{flex-direction:column;gap:10px;width:100%;display:flex}.category-card{color:#fff;text-align:left;background:#ffffff38;border:2px solid #0000;border-radius:18px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background .15s,border-color .15s,transform .15s;display:flex}.category-card.is-active{color:var(--pink);background:#fff;border-color:#fff;transform:scale(1.02)}.category-step{background:#ffffff59;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.category-card.is-active .category-step{background:var(--pink);color:#fff}.category-body{flex-direction:column;gap:2px;display:flex}.category-label{font-size:1.15rem;font-weight:800}.category-desc{opacity:.9;font-size:.78rem;font-weight:500}.source-toggle{border-radius:var(--radius-btn);background:#ffffff2e;gap:8px;width:100%;padding:6px;display:flex}.source-btn{border-radius:var(--radius-btn);color:#fff;background:0 0;flex:1;height:42px;font-size:.92rem;font-weight:700}.source-btn.is-active{color:var(--pink);background:#fff}.error-text{color:#fff;background:#78142859;border-radius:12px;margin:0;padding:8px 14px;font-size:.85rem}.custom-card{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:8px;font-size:.88rem;font-weight:700;display:flex}.btn-in-card{width:100%;margin-top:4px}.save-message{text-align:center;color:var(--pink);margin:0;font-size:.88rem;font-weight:700}.sync-message{background:#ffffffe6;border-radius:12px;max-width:100%;padding:10px 14px;line-height:1.5}.topic-list-card{padding-top:16px;padding-bottom:12px}.topic-list-title{text-align:center;color:var(--pink);margin:0 0 12px;font-size:.92rem;font-weight:800}.topic-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.topic-list-item{background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.topic-list-text{word-break:break-word;font-size:.92rem;font-weight:700;line-height:1.4}.topic-list-vs{opacity:.45;font-weight:500}.topic-list-item-actions{align-items:flex-start}.topic-actions{flex-shrink:0;gap:6px;display:flex}.topic-edit,.topic-delete{border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:.78rem;font-weight:700}.topic-edit{color:var(--pink);background:#ff8e9547}.topic-delete{color:var(--pink);background:#ff8e9526}.topic-pick{text-align:left;width:100%;color:var(--text-on-cream);word-break:break-word;background:#fff;border-radius:14px;padding:12px 14px;font-size:.92rem;font-weight:700;line-height:1.4}.topic-browse{flex-direction:column;gap:12px;width:100%;max-height:min(52vh,420px);padding-right:2px;display:flex;overflow-y:auto}.topic-browse-section{padding:16px}.topic-browse-label{color:var(--pink);justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;font-size:1.05rem;font-weight:800;display:flex}.topic-browse-count{color:var(--text-on-cream);opacity:.7;font-size:.8rem;font-weight:700}.topic-browse-empty{opacity:.65;text-align:center;margin:0;font-size:.88rem}.center-block{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.confirm-question{margin:0;font-size:1.45rem;font-weight:800;line-height:1.5}.confirm-question span{text-underline-offset:4px;text-decoration:underline}.confirm-hint{opacity:.95;max-width:20em;margin:0 0 8px;font-size:.9rem;line-height:1.65}.reveal-label,.reveal-tail{margin:0;font-size:1rem;font-weight:500}.reveal-word{letter-spacing:.04em;min-height:1.3em;margin:8px 0;font-size:clamp(1.8rem,7vw,2.4rem);font-weight:800;line-height:1.3;animation:.35s both wordIn}.reveal-word.is-loading{opacity:.5}@keyframes wordIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ready-text{margin:0 0 12px;font-size:1.15rem;font-weight:700}.talk-title{margin:0;font-size:1.6rem;font-weight:800}.talk-hint{opacity:.95;margin:0;font-size:.92rem}.timer-label{margin:12px 0 0;font-size:.9rem}.timer-ring{--size:200px;--ratio:1;width:var(--size);height:var(--size);background:conic-gradient(#fff calc(var(--ratio) * 360deg), #ffffff47 0);border-radius:50%;place-items:center;display:grid;position:relative}.timer-ring:before{content:"";background:var(--pink);background:linear-gradient(180deg, #ffa3a8 0%, var(--pink) 40%, #ff7f88 100%);border-radius:50%;position:absolute;inset:12px}.timer-digits{z-index:1;letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:800;position:relative}.vote-card,.howto-card{font-size:.95rem;font-weight:500;line-height:1.75}.vote-card p+p{margin-top:14px}.howto-list{flex-direction:column;gap:12px;margin:0;padding-left:1.2em;display:flex}.howto-flow{border-top:1px dashed #5a454840;margin-top:18px;padding-top:14px}.howto-flow-title{color:var(--pink);margin:0 0 8px;font-weight:800}.result-card{flex-direction:column;gap:14px;display:flex}.result-row{border-bottom:1px dashed #5a454833;grid-template-rows:auto auto;grid-template-columns:2.2em 1fr;gap:2px 10px;padding-bottom:12px;display:grid}.result-row:last-child{border-bottom:none;padding-bottom:0}.result-name{color:var(--pink);grid-row:1/3;align-self:center;font-size:1.25rem;font-weight:800}.result-role{opacity:.75;font-size:.82rem;font-weight:700}.result-role.is-wolf{color:#e04560;opacity:1}.result-word{font-size:1.05rem;font-weight:800}.penalty-spotlight{text-align:center;background:#fff;border-radius:28px;width:100%;padding:28px 20px 32px;animation:.4s cubic-bezier(.2,.9,.3,1.15) both penaltyPop;box-shadow:0 0 0 4px #ffffff8c,0 16px 36px #a0283c47}.penalty-spotlight.is-villager{background:linear-gradient(#fffdf8 0%,#fff4e8 100%)}.penalty-spotlight.is-wolf{background:linear-gradient(#fff8f8 0%,#ffe4e8 100%)}@keyframes penaltyPop{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.penalty-badge{background:var(--pink);color:#fff;letter-spacing:.06em;border-radius:999px;margin:0 0 12px;padding:6px 16px;font-size:.85rem;font-weight:800;display:inline-block}.penalty-spotlight.is-wolf .penalty-badge{background:#e04560}.penalty-kicker{color:var(--text-on-cream);opacity:.75;margin:0 0 14px;font-size:.95rem;font-weight:700}.penalty-text{letter-spacing:.02em;color:var(--pink);margin:0;font-size:clamp(1.45rem,5.5vw,1.85rem);font-weight:800;line-height:1.55;animation:.35s both wordIn}.penalty-spotlight.is-wolf .penalty-text{color:#d63a55}.penalty-input{width:100%;color:var(--text-on-cream);resize:vertical;background:#fff;border:none;border-radius:16px;outline:none;padding:14px 16px;font-family:inherit;font-size:1rem;font-weight:500;line-height:1.5;box-shadow:inset 0 0 0 1px #ff8e9526}.penalty-input:focus{box-shadow:inset 0 0 0 2px var(--pink-soft)}@media (width>=480px){.mascot{width:128px}.mascot-wolf{width:134px}}
