@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Noto+Sans+JP:wght@400;700;900&display=swap";.tt-root{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:200;position:fixed;inset:0;overflow:hidden}.tt-bg{background-image:url(/wolf-girl.png);background-position:50% 30%;background-repeat:no-repeat;background-size:cover;animation:12s ease-in-out infinite alternate tt-bgFloat;position:absolute;inset:0;transform:scale(1.04)}.tt-overlay{background:linear-gradient(#020617d1 0%,#0206174d 30%,#02061700 55%,#02061773 80%,#020617e0 100%),radial-gradient(90% 90%,#0000 40%,#0206178c 100%);position:absolute;inset:0}.tt-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tt-particle{opacity:0;background:radial-gradient(circle,#fef3c7,#fbbf24,#0000);border-radius:50%;animation:linear infinite tt-particleDrift;position:absolute}.tt-content{text-align:center;flex-direction:column;justify-content:space-between;align-items:center;padding:5vh 2rem 6vh;display:flex;position:absolute;inset:0}.tt-header{flex-direction:column;align-items:center;gap:.6rem;animation:1s cubic-bezier(.22,1,.36,1) .2s both tt-slideDown;display:flex}.tt-badge{letter-spacing:.25em;text-transform:uppercase;color:#fbbf24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fbbf241a;border:1px solid #fbbf2466;border-radius:100px;align-items:center;gap:.4rem;padding:.3rem 1rem;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 0 16px #fbbf2426}.tt-title-jp{letter-spacing:-.01em;color:#fff;text-shadow:0 0 40px #fbbf2480,0 0 80px #fbbf2440,0 4px 20px #000c;font-family:Noto Sans JP,sans-serif;font-size:clamp(2.4rem,7vw,5.5rem);font-weight:900;line-height:.95}.tt-title-en{letter-spacing:.08em;background:linear-gradient(135deg,#fbbf24 0%,#fef3c7 30%,#f59e0b 50%,#fffbeb 70%,#fbbf24 100%) 0 0/200% 200%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 30px #fbbf2480);-webkit-background-clip:text;font-family:Inter,sans-serif;font-size:clamp(3.5rem,11vw,9rem);font-weight:900;line-height:.9;animation:4s ease-in-out infinite tt-shimmer;display:block}.tt-tagline{color:#e2e8f0d9;letter-spacing:.18em;text-shadow:0 2px 12px #000000b3;margin-top:.4rem;font-size:clamp(.85rem,2vw,1.1rem);font-weight:400}.tt-footer{flex-direction:column;align-items:center;gap:1rem;animation:1s cubic-bezier(.22,1,.36,1) .4s both tt-slideUp;display:flex}.tt-cta{letter-spacing:.12em;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);text-shadow:0 1px 4px #00000080;background:linear-gradient(135deg,#b4530999 0%,#d97706b3 40%,#b4530999 100%);border:none;border-radius:100px;align-items:center;gap:.9rem;padding:1rem 3rem;font-family:Noto Sans JP,sans-serif;font-size:clamp(1rem,3vw,1.35rem);font-weight:800;transition:transform .2s,box-shadow .2s;animation:2.5s ease-in-out infinite tt-ctaGlow;display:inline-flex;position:relative;box-shadow:0 0 0 1px #fbbf2480,0 0 30px #fbbf2440,0 8px 40px #00000080,inset 0 1px #fff3}.tt-cta:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 0 0 1px #fbbf24cc,0 0 50px #fbbf2480,0 16px 48px #0009,inset 0 1px #ffffff40}.tt-cta-lantern{font-size:1.3em;animation:2.5s ease-in-out infinite tt-lanternSway;display:inline-block}.tt-cta-lantern:last-child{animation-delay:.3s}.tt-hint{letter-spacing:.18em;text-transform:uppercase;color:#94a3b88c;font-size:.7rem;animation:2.5s ease-in-out infinite tt-blink}.tt-root.tt-exit{pointer-events:none;animation:.8s ease-in forwards tt-exit}.tf-root{opacity:0;justify-content:center;align-items:center;animation:.7s cubic-bezier(.22,1,.36,1) 50ms forwards tf-enter;display:flex;position:fixed;inset:0;overflow:hidden}.tf-bg{filter:blur(6px)brightness(.3)saturate(1.5);background-image:url(/wolf-girl.png);background-position:50% 30%;background-size:cover;position:absolute;inset:0;transform:scale(1.06)}.tf-overlay{background:#0206178c;position:absolute;inset:0}.tf-card{z-index:10;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);text-align:center;background:linear-gradient(145deg,#080f23e0 0%,#0f1937eb 100%);border:1px solid #fbbf2440;border-radius:28px;width:100%;max-width:420px;margin:1rem;padding:2.5rem 2rem;position:relative;box-shadow:0 0 0 1px #ffffff0f,0 32px 80px #0009,0 0 60px #fbbf2414}.tf-char{filter:drop-shadow(0 8px 24px #fbbf244d);pointer-events:none;width:130px;height:auto;margin:0 auto 1.2rem;animation:5s ease-in-out infinite tt-floatChar;display:block}.tf-title{letter-spacing:-.02em;background:linear-gradient(135deg,#fbbf24 0%,#f8fafc 50%,#a78bfa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.3rem;font-family:Noto Sans JP,Inter,sans-serif;font-size:1.9rem;font-weight:900}.tf-sub{color:#94a3b8bf;letter-spacing:.05em;margin-bottom:1.8rem;font-size:.82rem}.tf-label{text-align:left;color:#fbbf24d9;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:block}.tf-input{color:#fff;background:#00000059;border:1px solid #fbbf2440;border-radius:12px;outline:none;width:100%;margin-bottom:1rem;padding:.9rem 1.2rem;font-family:Noto Sans JP,Inter,sans-serif;font-size:1.05rem;transition:border-color .25s,box-shadow .25s}.tf-input::placeholder{color:#94a3b880}.tf-input:focus{border-color:#fbbf24a6;box-shadow:0 0 0 3px #fbbf241f,0 0 20px #fbbf241a}.tf-btn{letter-spacing:.05em;cursor:pointer;color:#1c1000;background:linear-gradient(135deg,#b45309 0%,#d97706 50%,#f59e0b 100%);border:none;border-radius:12px;width:100%;padding:1rem;font-family:Noto Sans JP,Inter,sans-serif;font-size:1.05rem;font-weight:800;transition:all .25s;box-shadow:0 4px 20px #fbbf2459,inset 0 1px #fff3}.tf-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706 0%,#f59e0b 50%,#fbbf24 100%);transform:translateY(-2px);box-shadow:0 8px 30px #fbbf2473,inset 0 1px #ffffff40}.tf-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}@keyframes tt-bgFloat{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.08)translate(-8px,-6px)}}@keyframes tt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes tt-slideDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes tt-slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes tt-ctaGlow{0%,to{box-shadow:0 0 0 1px #fbbf2480,0 0 20px #fbbf2433,0 8px 40px #00000080,inset 0 1px #fff3}50%{box-shadow:0 0 0 1px #fbbf24bf,0 0 50px #fbbf2473,0 8px 40px #00000080,inset 0 1px #ffffff40}}@keyframes tt-lanternSway{0%,to{transform:rotate(-10deg)scale(1)}50%{transform:rotate(10deg)scale(1.1)}}@keyframes tt-blink{0%,to{opacity:.35}50%{opacity:.85}}@keyframes tt-particleDrift{0%{opacity:0;transform:translate(0)scale(0)}10%{opacity:1}90%{opacity:.7}to{transform:translate(var(--dx), var(--dy)) scale(1);opacity:0}}@keyframes tt-exit{0%{opacity:1;transform:scale(1) blur(0);filter:blur()}to{opacity:0;filter:blur(8px);transform:scale(1.05)}}@keyframes tf-enter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes tt-floatChar{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (width<=600px){.tt-cta{padding:.85rem 2.2rem}.tf-card{border-radius:20px;padding:2rem 1.4rem}.tf-char{width:100px}}.tr-root{color:#f8fafc;width:100%;min-height:100vh;font-family:Noto Sans JP,Inter,sans-serif;position:relative;overflow-x:hidden}.tr-bg{filter:blur(8px)brightness(.22)saturate(1.2);z-index:-2;background-image:url(/wolf-girl.png);background-position:50% 30%;background-size:cover;position:fixed;inset:0;transform:scale(1.05)}.tr-overlay{z-index:-1;background:radial-gradient(circle,#02061766 0%,#020617d9 100%);position:fixed;inset:0}.tr-particles{pointer-events:none;z-index:0;position:fixed;inset:0}.tr-particle{opacity:0;background:radial-gradient(circle,#fef3c7cc,#fbbf2466,#0000);border-radius:50%;animation:linear infinite tr-particleDrift;position:absolute}@keyframes tr-particleDrift{0%{opacity:0;transform:translate(0)scale(0)}15%{opacity:.8}85%{opacity:.6}to{transform:translate(var(--dx), var(--dy)) scale(1);opacity:0}}.tr-root .glass-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:5;background:linear-gradient(135deg,#142348e0 0%,#0c1630ed 100%);border:1px solid #fbbf2440;border-radius:20px;padding:1.5rem;position:relative;box-shadow:0 8px 32px #00000080,0 0 40px #fbbf240d,inset 0 1px #ffffff14}.tr-root h2,.tr-root h3{letter-spacing:-.01em;color:#fff;text-shadow:0 2px 10px #00000080;margin-top:0;font-family:Noto Sans JP,sans-serif;font-weight:900}.tr-root h2{color:#fff;font-size:1.6rem}.tr-root h3{color:#fef3c7;border-bottom:1px solid #fbbf2426;margin-bottom:1.2rem;padding-bottom:.5rem;font-size:1.25rem}.tr-root .btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.5rem;font-family:Noto Sans JP,sans-serif;font-weight:700;transition:background-color .15s,opacity .15s;display:inline-flex}.tr-root .btn-primary{color:#fff;background-color:#d97706}.tr-root .btn-primary:hover:not(:disabled){background-color:#b45309}.tr-root .btn-primary:disabled{opacity:.4;cursor:not-allowed}.tr-root .btn-danger{color:#fff;background-color:#ef4444}.tr-root .btn-danger:hover:not(:disabled){background-color:#dc2626}.tr-root .input-field{color:#fff;background:#0006;border:1px solid #fbbf2433;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem;font-family:Noto Sans JP,sans-serif;transition:all .25s}.tr-root .input-field:focus{border-color:#fbbf2499;box-shadow:0 0 0 3px #fbbf241a,0 0 15px #fbbf2414}.tr-root .player-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.8rem;margin-top:1rem;display:grid}.tr-root .player-card{text-align:center;cursor:pointer;background:#02061773;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:80px;padding:.9rem .6rem;transition:all .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative;box-shadow:inset 0 1px #ffffff05}.tr-root .player-card:hover{background:#fbbf2408;border-color:#fbbf2459;transform:translateY(-2px)}.tr-root .player-card.selected{background:#fbbf2414!important;border-color:#fbbf24!important;box-shadow:0 0 15px #fbbf2440,inset 0 0 8px #fbbf2426!important}.tr-root .player-card.dead{opacity:.5;background:#0f172a99;border-color:#ef444440;-webkit-text-decoration:line-through #ef444499;text-decoration:line-through #ef444499}.tr-root .player-card.dead:after{content:"☠";color:#ef4444;font-size:.75rem;position:absolute;top:4px;right:6px}.tr-root .role-badge{letter-spacing:.05em;text-shadow:0 1px 2px #000c;border:1px solid #0000;border-radius:6px;margin-top:.3rem;padding:.2rem .5rem;font-size:.75rem;font-weight:800;display:inline-block;box-shadow:0 2px 4px #0003}.tr-root .role-villager{color:#93c5fd;background:#3b82f626;border-color:#3b82f68c}.tr-root .role-werewolf{color:#fca5a5;background:#ef44442e;border-color:#ef444499;animation:2s infinite pulse-border}.tr-root .role-seer{color:#c084fc;background:#a78bfa26;border-color:#a78bfa8c}.tr-root .role-knight{color:#6ee7b7;background:#10b98126;border-color:#10b9818c}.tr-root .role-madman{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b8c}.tr-root .role-medium{color:#fbcfe8;background:#ec489926;border-color:#ec48998c}.tr-root .role-thief{color:#99f6e4;background:#14b8a626;border-color:#14b8a68c}@keyframes pulse-border{0%,to{border-color:#ef444499}50%{border-color:#ef4444;box-shadow:0 0 8px #ef444466}}.tr-root .chat-container{background:#02061766;border:1px solid #ffffff0d;border-radius:14px;flex-direction:column;height:480px;display:flex;overflow:hidden}.tr-root .chat-messages{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.tr-root .message{color:#e2e8f0;background:#1e293bb3;border:1px solid #ffffff0d;border-radius:12px;align-self:flex-start;max-width:85%;padding:.6rem .9rem;font-size:.92rem;line-height:1.4;box-shadow:0 2px 6px #00000026}.tr-root .message.me{color:#fffefb;background:linear-gradient(135deg,#b4530959 0%,#d9770666 100%);border-color:#fbbf244d;align-self:flex-end}.tr-root .message.system{color:#fef3c7;text-align:center;background:#fbbf240d;border:1px dashed #fbbf244d;border-radius:8px;align-self:center;max-width:95%;padding:.5rem 1.2rem;font-size:.85rem}.tr-root .chat-input-area{background:#0000004d;border-top:1px solid #ffffff0d;gap:.5rem;padding:.75rem;display:flex}.tr-root .chat-input-area .input-field{flex:1}.tr-root .chat-input-area .btn{padding:.6rem 1rem}.tr-root .chat-messages::-webkit-scrollbar{width:6px}.tr-root .chat-messages::-webkit-scrollbar-track{background:0 0}.tr-root .chat-messages::-webkit-scrollbar-thumb{background:#fbbf2426;border-radius:10px}.tr-root .chat-messages::-webkit-scrollbar-thumb:hover{background:#fbbf2459}:root{--bg-color:#0f172a;--text-color:#f8fafc;--primary-color:#3b82f6;--primary-hover:#2563eb;--danger-color:#ef4444;--danger-hover:#dc2626;--panel-bg:#1e293bb3;--panel-border:#ffffff1a;--wolf-color:#991b1b;--seer-color:#8b5cf6;--knight-color:#10b981;--villager-color:#f59e0b;--medium-color:#0d9488;--thief-color:#475569}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);background-image:radial-gradient(circle at 15%,#3b82f626,#0000 25%),radial-gradient(circle at 85% 30%,#8b5cf626,#0000 25%);flex-direction:column;min-height:100vh;font-family:Inter,Noto Sans JP,sans-serif;display:flex}#root{flex-direction:column;flex:1;display:flex}.container{width:100%;max-width:800px;margin:0 auto;padding:2rem}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:16px;padding:2rem;animation:.5s ease-out fadeIn;box-shadow:0 8px 32px #0000005e}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3{letter-spacing:-.025em;margin-bottom:1rem;font-weight:800}h1{text-align:center;background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-hover);transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.input-field{border:1px solid var(--panel-border);color:#fff;background:#0003;border-radius:8px;width:100%;margin-bottom:1rem;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.input-field:focus{border-color:var(--primary-color);outline:none}.chat-container{border:1px solid var(--panel-border);background:#0000004d;border-radius:12px;flex-direction:column;height:400px;margin-top:1.5rem;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.message{background:#ffffff0d;border-radius:8px;align-self:flex-start;max-width:80%;padding:.5rem .75rem;animation:.3s ease-out slideIn}.message.system{color:#fbbf24;text-align:center;background:#ffffff1a;align-self:center;font-size:.9rem}.message.me{background:var(--primary-color);align-self:flex-end}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.chat-input-area{border-top:1px solid var(--panel-border);background:#ffffff0d;padding:.75rem;display:flex}.chat-input-area input{border-top-right-radius:0;border-bottom-right-radius:0;flex:1;margin-bottom:0}.chat-input-area button{border-top-left-radius:0;border-bottom-left-radius:0}.player-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.player-card{border:1px solid var(--panel-border);text-align:center;cursor:pointer;background:#ffffff0d;border-radius:12px;padding:1rem;transition:all .2s;position:relative;overflow:hidden}.player-card:hover{background:#ffffff1a;transform:translateY(-2px)}.player-card.dead{opacity:.5;filter:grayscale();cursor:not-allowed}.player-card.dead:after{content:"DEAD";color:var(--danger-color);letter-spacing:2px;text-shadow:0 2px 4px #00000080;font-size:1.5rem;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-15deg)}.player-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}.role-badge{border-radius:4px;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.role-villager{background:var(--villager-color)}.role-werewolf{background:var(--wolf-color)}.role-seer{background:var(--seer-color)}.role-knight{background:var(--knight-color)}.role-madman{background:var(--madman-color)}.role-medium{background:var(--medium-color)}.role-thief{background:var(--thief-color)}@media (width<=768px){.container{padding:.5rem}.glass-panel{border-radius:12px;padding:1rem}.player-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem}.player-card{padding:.75rem .25rem}h1{font-size:2rem}.chat-container{height:300px}}
