*{box-sizing:border-box}body{margin:0}a{color:inherit}:root{font-family:Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#0f172a;background-color:#f9fafb}body{margin:0;background:radial-gradient(circle at top,#fef3c7,#f9fafb 45%);min-height:100vh}.app-shell{max-width:560px;width:100%;margin:0 auto;padding:1.75rem 1rem 2.5rem;display:flex;flex-direction:column;gap:1.25rem}.landing-shell{min-height:100vh;justify-content:center}.game-shell{min-height:100vh}.home-content{position:relative;z-index:1}.landing-header{text-align:center}.landing-header h1{font-size:2.4rem;margin-bottom:.35rem}.landing-header p{margin:0 auto;max-width:20em;color:#475569}.panel{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 20px 45px #0f172a14}.scoreboard{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.score-card{border:1.5px solid transparent;border-radius:10px;padding:.6rem .7rem;background:#f8fafc;display:flex;flex-direction:column;gap:.25rem}.score-card.active{border-color:#f97316;box-shadow:0 12px 25px #f9731640}.score-card input{width:100%;border:none;border-bottom:1px solid #cbd5f5;padding:.15rem 0;font-size:.9rem;background:transparent}.score-card input:disabled{opacity:.6}.score{font-size:1.2rem;font-weight:700;line-height:1.2}.theme-summary{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:#475569}.theme-summary span{background:#f1f5f9;border-radius:999px;padding:.15rem .65rem}.winner-banner{margin-top:1rem;padding:.75rem 1rem;border-radius:12px;background:#fef9c3;font-weight:600;text-align:center}.home-panel{text-align:center;display:flex;flex-direction:column;gap:.9rem}.home-lead{margin:0;color:#475569}.home-actions{display:flex;flex-direction:column;gap:.75rem}.home-divider{height:1px;width:100%;background:#e2e8f0;margin:.25rem 0 .5rem}.button-large{width:100%;padding:1rem 1.2rem;font-size:1.05rem}.form-panel{display:flex;flex-direction:column;gap:1rem}.text-link{background:none;border:none;color:#2563eb;font-size:.9rem;align-self:flex-start;cursor:pointer}.stacked-form{display:flex;flex-direction:column;gap:.65rem}.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;border-radius:12px;border:1px solid #cbd5f5;padding:.75rem .9rem;font-size:1rem;font-family:inherit;box-sizing:border-box}.stacked-form textarea{resize:vertical}.stacked-form .primary{margin-top:.5rem}.primary,.word-form button,.answer-form button{padding:.85rem 1.2rem;border-radius:999px;border:none;background:linear-gradient(120deg,#f97316,#ea580c);color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease}.secondary{border-radius:999px;border:1.5px solid #cbd5f5;background:#fff;color:#0f172a;font-weight:600;cursor:pointer;padding:.85rem 1.2rem}.primary:disabled,.secondary:disabled,.word-form button:disabled,.answer-form button:disabled{opacity:.4;cursor:not-allowed}.ghost{background:transparent;border:1px solid #cbd5f5;border-radius:999px;padding:.45rem .9rem;font-weight:600;cursor:pointer}.word-form{display:flex;flex-direction:column;gap:.75rem}.form-row{display:flex;align-items:center;gap:.5rem;font-size:1rem}.form-row.hint{font-size:.95rem;color:#f97316}.word-form input[type=text]{padding:.85rem 1rem;border-radius:10px;border:1px solid #cbd5f5;font-size:1.1rem}.hint-button{margin-top:.25rem;background:#dbeafe;color:#1d4ed8}.hint-panel{margin-top:.75rem;padding:.75rem;border-radius:12px;background:#f1f5f9;display:flex;flex-direction:column;gap:.5rem}.hint-list{display:flex;flex-wrap:wrap;gap:.5rem}.hint-chip{border:none;border-radius:12px;padding:.5rem .75rem;background:#fff;box-shadow:0 2px 6px #0f172a1a;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.hint-chip small{color:#475569}.hint-chip em{font-style:normal;color:#0f172a;font-size:.85rem}.status{margin-top:.75rem;color:#0f172a;font-weight:600}.error{margin-top:.5rem;color:#dc2626;font-weight:600}.status.small,.error.small{font-size:.85rem}.challenge-card{border:1px solid #e2e8f0;border-radius:14px;padding:1rem;margin-bottom:1rem;background:#fdfdfd}.challenge-card.pending{border-style:dashed;background:#fff7ed}.challenge-header{display:flex;justify-content:space-between;gap:.5rem;font-weight:600}.challenge-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.challenge-action{border:none;border-radius:999px;padding:.65rem 1rem;background:#dbeafe;color:#1d4ed8;font-weight:600;cursor:pointer;transition:opacity .2s ease}.challenge-action.secondary{background:#e2e8f0;color:#0f172a}.challenge-action:disabled{opacity:.5;cursor:not-allowed}.hint{font-size:.9rem;color:#ea580c;margin:.5rem 0}.reading-info{font-size:.95rem;color:#0f172a;margin:.4rem 0}.reading-info small{color:#475569}.settings-panel{background:linear-gradient(180deg,#fffdfa,#fff)}.settings-note{margin-top:0;font-size:.9rem;color:#475569}.settings-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:1rem}.settings-group{display:flex;flex-direction:column;gap:.5rem}.settings-group label{font-weight:600}.player-name-inputs{display:flex;flex-direction:column;gap:.4rem}.player-name-inputs input{border:1px solid #cbd5f5;border-radius:10px;padding:.5rem .75rem;font-size:.95rem}.settings-group select,.settings-group input,.settings-group textarea{border:1px solid #cbd5f5;border-radius:10px;padding:.6rem .75rem;font-size:.95rem;font-family:inherit}.settings-group textarea{resize:vertical}.room-code-tag{margin-top:.4rem;display:inline-flex;gap:.4rem;align-items:center;padding:.2rem .85rem;border-radius:999px;background:#e0f2fe;color:#0f172a;font-weight:600}.game-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.game-header h1{margin:0;font-size:1.9rem}.game-header-actions{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end}.lobby-panel .member-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem}.member-pill{padding:.35rem .9rem;border-radius:999px;background:#f1f5f9;font-size:.9rem}.rules-panel ol{padding-left:1.1rem;color:#475569;line-height:1.8}.rules-list{margin:.5rem 0 0;padding-left:1.1rem;color:#475569;line-height:1.7}.rules-list li+li{margin-top:.35rem}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;justify-content:center;align-items:center;padding:1.25rem;z-index:1000}.modal-card{width:min(520px,100%);background:#fff;border-radius:16px;padding:1.5rem;position:relative;box-shadow:0 25px 60px #0f172a40}.modal-card h2{margin-top:0;margin-bottom:.75rem}.modal-close{position:absolute;top:1rem;right:1rem;border:none;border-radius:999px;padding:.4rem .9rem;background:#e2e8f0;font-weight:600;cursor:pointer}.question{font-size:1.05rem;margin:.5rem 0}.respondent{font-size:.95rem;color:#475569}.answer-form{display:flex;flex-direction:column;gap:.5rem}.answer-form textarea{border-radius:10px;border:1px solid #cbd5f5;padding:.75rem;font-size:1rem}.verdict{margin-top:.5rem;background:#ecfccb;border-radius:10px;padding:.75rem;font-size:.95rem}.history{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.history-note{margin-left:.5rem;color:#475569;font-size:.9rem}@media(max-width:640px){.panel{padding:1.25rem}.landing-header h1{font-size:2rem}.game-header h1{font-size:1.7rem}}
