:root{--color-primary:#1f4e79;--color-primary-dark:#163a5a;--color-accent:#d97706;--color-bg:#f7f7fb;--color-surface:#fff;--color-text:#1a1a2e;--color-text-muted:#5a5a6e;--color-border:#e2e2ea;--color-success:#16a34a;--color-danger:#dc2626;--radius:14px;--touch-min:44px;font-size:16px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{background:var(--color-surface);flex-direction:column;max-width:480px;min-height:100svh;margin:0 auto;display:flex;box-shadow:0 0 24px #0000000f}button{min-height:var(--touch-min);cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-family:inherit;font-size:1rem;transition:transform .1s,opacity .15s}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;font-weight:600}.btn-secondary{background:var(--color-border);color:var(--color-text)}.btn-success{background:var(--color-success);color:#fff;font-weight:600}.btn-danger{color:var(--color-danger);background:#fde8e8;font-weight:600}.btn-favorite{color:var(--color-accent);background:#fff7ed;border:1px solid #fed7aa;font-weight:600}.btn-block{width:100%;display:block}input,select,textarea{min-height:var(--touch-min);border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fff;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}label{color:var(--color-text-muted);margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.field{margin-bottom:16px}.page{padding:20px 16px calc(20px + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.page-center{text-align:center;justify-content:center;align-items:center}.app-header{background:var(--color-primary);color:#fff;z-index:10;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.app-header h1{margin:0;font-size:1.1rem;font-weight:700}.app-header button{color:#fff;white-space:nowrap;background:#ffffff26;min-height:36px;padding:6px 10px;font-size:.78rem}.bottom-nav{border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;position:sticky;bottom:0}.bottom-nav a{text-align:center;color:var(--color-text-muted);min-height:var(--touch-min);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:10px 4px 8px;font-size:.75rem;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--color-primary);font-weight:700}.bottom-nav .icon{font-size:1.3rem}.card-box{border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;background:#fff;margin-bottom:12px;padding:20px}.game-card{background:linear-gradient(160deg, var(--color-primary), var(--color-primary-dark));color:#fff;text-align:center;border-radius:20px;flex-direction:column;justify-content:center;min-height:260px;padding:32px 24px;transition:opacity .25s,transform .25s;display:flex;box-shadow:0 10px 30px #1f4e7959}.game-card h2{margin:0 0 12px;font-size:1.3rem}.game-card p{opacity:.95;margin:0;font-size:1.05rem}.game-card .tag{background:#fff3;border-radius:999px;align-self:center;margin-top:16px;padding:4px 12px;font-size:.75rem;display:inline-block}.game-card .target-tag{background:#ffffff59;margin-top:0;margin-bottom:12px;font-weight:700}.action-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.action-row .full{grid-column:1/-1}.muted{color:var(--color-text-muted);font-size:.9rem}.error-text{color:var(--color-danger);margin-top:4px;font-size:.9rem}.invite-code{letter-spacing:4px;background:var(--color-bg);border:2px dashed var(--color-primary);text-align:center;color:var(--color-primary);border-radius:10px;margin:12px 0;padding:12px;font-family:ui-monospace,monospace;font-size:1.4rem;font-weight:700}.member-list{margin:12px 0;padding:0;list-style:none}.member-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 12px;font-size:.95rem;display:flex}.member-list li:last-child{border-bottom:none}.turn-badge{color:var(--color-accent);background:#fff7ed;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.history-item{border-left:3px solid var(--color-primary);background:var(--color-bg);border-radius:6px;margin-bottom:8px;padding:8px 12px}
